#ifndef UC_BRVLTRAV_H
#define UC_BRVLTRAV_H 1

#include "zadesk.h"
#include "zrxobject.h"
#include "zrxboiler.h"
#include "ucbrgbl.h"
#include "ucbrtrav.h"


// forward class declarations
class UcBrLoop;
class UcBrVertex;
class UcBrLoopVertexTraverser;


class DllImpExp UcBrVertexLoopTraverser : public UcBrTraverser
{
public:
    UCRX_DECLARE_MEMBERS(UcBrVertexLoopTraverser);
    UcBrVertexLoopTraverser();
    UcBrVertexLoopTraverser(const UcBrVertexLoopTraverser& src);
    ~UcBrVertexLoopTraverser();

    // Assignment operator
    UcBrVertexLoopTraverser& operator =	(const UcBrVertexLoopTraverser& src);

    // Queries & Initialisers
    UcBr::ErrorStatus   setVertexAndLoop(const UcBrLoopVertexTraverser& LoopVertexTraverser);
    UcBr::ErrorStatus   setVertex       (const UcBrVertex& vertex);
    UcBr::ErrorStatus   getVertex       (UcBrVertex& vertex) const;
    UcBr::ErrorStatus   setLoop         (const UcBrLoop& loop);
    UcBr::ErrorStatus   getLoop         (UcBrLoop& loop) const;
};


#endif

